<!DOCTYPE HTML>
<html>

	<head>
		<meta charset="utf-8" />
		<meta name="viewport" content="initial-scale=1.0, maximum-scale=1.0, user-scalable=no" />
		<meta name="HandheldFriendly" content="true" />
		<meta name="MobileOptimized" content="320" />
		<title>Hello H5+</title>
		<script type="text/javascript" src="../js/common.js"></script>
		<script type="text/javascript">
			 // 保存Android全局环境对象
			var mainActivity = null;
			 // H5+事件处理
			document.addEventListener("plusready", function() {
				switch (plus.os.name) {
					case "Android":
						// 程序全局环境对象
						mainActivity = plus.android.runtimeMainActivity();
						break;
					default:
						break;
				}
			}, false);
			/**
			 * 在iOS平台通过NJS显示系统提示框
			 */
			function njsAlertForiOS() {　　 // 创建UIAlertView类的实例对象
					　　
					var view = plus.ios.newObject("UIAlertView");　　
					// 设置提示对话上的内容，这里的方法名称中必须包含':'字符
					plus.ios.invoke(view, "initWithTitle:message:delegate:cancelButtonTitle:otherButtonTitles:"　　, "自定义标题" // 提示框标题
						　　, "使用NJS的原生弹出框，可自定义弹出框的标题、按钮" // 提示框上显示的内容
						　　, null // 操作提示框后的通知代理对象，暂不设置
						　　, "确定(或者其他字符)" // 提示框上取消按钮的文字
						　　, null); // 提示框上其它按钮的文字，设置为null表示不显示
					　　 // 调用show方法显示提示对话框，在JS中使用()语法调用对象的方法
					　　
					plus.ios.invoke(view, "show");
				}
				/**
				 * 在Android平台通过NJS显示系统提示框
				 */

			function njsAlertForAndroid() {
				// 由于Builder类是android.app.AlertDialog类的内部类，这里需要使用$符号分割
				　　
				var dlg = plus.android.newObject("android.app.AlertDialog$Builder", mainActivity);　　 // 设置提示框标题
				　　
				plus.android.invoke(dlg, "setTitle", "自定义标题");　　 // 设置提示框内容
				　　
				plus.android.invoke(dlg, "setMessage", "使用NJS的原生弹出框，可自定义弹出框的标题、按钮");　　 // 设置提示框按钮
				　　
				plus.android.invoke(dlg, "setPositiveButton", "确定(或者其他字符)", null);　　 // 显示提示框
				　　
				plus.android.invoke(dlg, "show");
			}

			function showNjsView() {
				switch (plus.os.name) {
					case "Android":
						njsAlertForAndroid();
						break;
					case "iOS":
						njsAlertForiOS();
						break;
					default:
						alert("此平台不支持！");
						break;
				}
			}
		</script>
		<link rel="stylesheet" href="../css/common.css" type="text/css" charset="utf-8" />
		<style type="text/css">
		</style>
	</head>

	<body>
		<header>
			<div class="nvbt iback" onclick="back();"></div>
			<div class="nvtt">Native.JS-高级API</div>
		</header>
		<div id="content" class="content">
			<br/>
			<p class="des">虽然导入类对象（plus.android.importClass和plus.ios.importClass）后，可以方便的通过“.”操作符来访问对象的常量、调用对象的方法，但导入类对象也需要消耗较多的系统资源，所以在实际开发时应该尽可能的减少导入类对象，以提高程序效率。</p>
			<p class="des">NJS中“高级API”提供的方法可以在不导入类对象的情况下调用Native API：</p>
			<br/>
			<ul class="dlist">
				<li class="ditem" onclick="showNjsView();">NJS高级API调用系统提示框</li>
			</ul>
		</div>
	</body>

</html>